//引入第三方模块mongoose
const mongoose = require("mongoose");


// 用 mongoose.connect方法连接数据库：返回的值是promise对象
mongoose.connect("mongodb://localhost/playground",{useNewUrlParser:true })
		.then(() => {console.log("数据库连接成功！")})
		.catch(err => {console.log(err,'数据库连接失败！')});


// 创建集合规则:调用mongoose.Schema这个构造函数创建实例对象（也是构造函数）
// 在 mongoose.Schema构造函数传入一个对象的参数
const userSchema = new mongoose.Schema({
	name:String,
	author:String,
	age:Number,
	email:String,
	password:String,
	hobbies:[String]
})
let user= new mongoose.model("User",userSchema) ;





// 查询文档
// 1、文档查询方法三(匹配大于 小于)：集合.find({age:{$gt:18,$lt:30}})
// user.find({age:{$gt:15,$lt:40}}).then(result => {console.log(result)})


// 2、文档查询方法三（匹配包含）：集合.find({hobbies:{$in:["足球"]}})
// user.find({hobbies:{$in:["打豆豆"]}}).then(result =>console.log(result));
// user.find({name:{$in:["王五"]}}).then(result =>console.log(result));



// 3、文档查询方法三（选择要查询的字段）：集合.find().select("name email")

// user.find({name:{$in:["王五"]}}).select("name email").then(result =>console.log(result));
// user.find({name:{$in:["王五"]}}).select("name email -_id").then(result =>console.log(result));




// 4、文档查询方法三（按照某个字段排序，默认是升序）：集合.find().sort("age")
// user.find().sort("age").then(result =>console.log(result));
// user.find().sort("-age").then(result =>console.log(result));


// 5、文档查询方法三（skio跳过多少条数据，limit限制查询数量）：集合.find().skip(2).limit(1)
user.find().skip(2).limit(1).then(result =>console.log(result));








